Background and Relevant Art
Computers and computing systems have affected nearly every aspect of modern living. Computers are generally involved in work, recreation, healthcare, transportation, entertainment, household management, etc. The functionality of computers has also been enhanced by their ability to be interconnected through various network connections.
Computing systems may request data from other systems. This data may be obtained in a number of different ways. For example, data may be obtained by retrieving the data from a repository such as a database or other data store. Data may also be created dynamically by a system providing data. For example, asp.NET available from Microsoft Corporation of Redmond, Wash., includes tools for dynamically creating web page data. Even an ordinary web server includes functionality for receiving arguments with a web page request for providing customized web page data based on the arguments in the web page request.
One way to increase performance of computing systems is by output caching requested data. Caching involves storing recently requested data in a location that is quickly retrievable when a subsequent request is made for the same data. For example, data may be cached in a physical memory of a computer system such that the data can be very quickly retrieved.
Various caching algorithms have been created to determine how the cached data is stored and retained. For example FIFO is an acronym for first in first out. In this scheme, data is cached in the cache location and when room needs to be created for additional cache items, the oldest items are removed from cache. Other schemes use predictive filters to determine what is cached and for how long.
Often, individual components of a computer system will each have their own cache components. For example, in the web server context, a stack exists with the operating system at the bottom of the stack, a web server on top of the operating system, and applications on top of the web server. One example of this is Windows operating system hosting an IIS server hosting an asp.NET framework, all available from Microsoft Corporation of Redmond, Wash. Each of the operating system, web server and applications include each their own cache. If each of these individual components cache data when working together to provide data to a client, redundant caching may be performed. This may result in resources being wasted. For example, by retaining redundant cached items in physical memory, the amount of physical memory available for caching other items is substantially reduced.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one-exemplary technology area where some embodiments described herein may be practiced.